import 'dart:convert';

void main() {
  // jsonTest1();
  // testJsonUser();
}

// 1.json类的decode方法
void jsonTest1() {
  String jsonStr = '{\"name\":\"fauks\"}';
  //返回值为Map<String,dynamic>,运行时才可以知道value类型
  //不能类型监测、自动提示、编译监测，不推荐使用
  var user = json.decode(jsonStr);
  print('${user['name']}');
}

testJsonUser() {
  String jsonStr = "{\"name\":\"fauks\",\"age\":12}";
  var jsonMap = json.decode(jsonStr);
  var user = User.fromJson(jsonMap);
  print('${user.name + "," + user.age.toString()}');
  print(user.toJson());
}

class User {
  final String name;
  final int age;

  User(this.name, this.age);

  User.fromJson(Map<String, dynamic> json)
      : name = json['name'],
        age = json['age'];

  //不能修改方法签名
  Map<String, dynamic> toJson() => {'name': name, 'age': age};
}
